package net.gazhi.delonix.rbac.thread;

import net.gazhi.delonix.core.thread.ObjectWrapper;
import net.gazhi.delonix.core.thread.ThreadContext;
import net.gazhi.delonix.rbac.entity.LoginUser;

/**
 * RBAC 线程上下文
 * 
 * @author Jeffrey Lin
 *
 */
public class RBACThreadContext extends ThreadContext {

	/**
	 * 缓存当前登录用户
	 * 
	 * @param loginUser
	 */
	public static void setLoginUser(LoginUser loginUser) {
		set(new LoginUserWrapper().wrap(loginUser));
	}

	/**
	 * 取得当前登录用户
	 * 
	 * @return
	 */
	public static LoginUser getLoginUser() {
		return get(LoginUserWrapper.class);
	}

	private static class LoginUserWrapper extends ObjectWrapper<LoginUser> {

	}

}
